package com.zj.core.net

import java.util.HashMap

import io.reactivex.Observable
import okhttp3.ResponseBody
import retrofit2.http.FieldMap
import retrofit2.http.FormUrlEncoded
import retrofit2.http.POST
import retrofit2.http.QueryMap

/**
 * 日期：2019年3月22日
 * 公司：北京子杰宝贝科技有限公司
 * 地址：北京市朝阳区朝阳农场
 * 开发者：达选文
 *
 * 主体功能：retrofit网络接口
 */
interface RetrofitService {

    /**
     * 获取护士操作记录
     * （1.4.1	患者护士操作记录 查询接口）
     * @param map
     */
    @FormUrlEncoded
    @POST("/dispatcher/imageHistory/list")
    fun getNurseOperationRecord(@FieldMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 给操作记录添加备注
     * （1.4.3	患者护士操作记录 修改接口 ）
     * @param map
     */
    @FormUrlEncoded
    @POST("/dispatcher/imageHistory/edit")
    fun addRemarkForOperation(@FieldMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 获取语音模板
     * （1.4.12	语言模板 查询接口）
     * @param map
     */
    @FormUrlEncoded
    @POST("/dispatcher/would/list")
    fun getVoiceTemplate(@FieldMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 获取 科室配置信息
     * （1.4.16 设备mac绑定 查询接口）
     * @param map
     */
    @POST("/dispatcher/macBinding/list")
    fun getConfigMessage(@QueryMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 获取语音模板关键字
     * （1.4.20	模板唤醒词 查询接口）
     * @param map
     */
    @FormUrlEncoded
    @POST("/dispatcher/OnlyWould/list")
    fun getTemplateTitle(@FieldMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 查询护士信息
     * （1.4.25	护士管理 查询接口）
     * @param map
     */
    @FormUrlEncoded
    @POST("/dispatcher/nurseManagement/list")
    fun queryNurseInfo(@FieldMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 绑定护士姓名
     * （1.4.26	护士管理 新增接口）
     * @param map
     */
    @FormUrlEncoded
    @POST("/dispatcher/nurseManagement/add")
    fun bindNurseName(@FieldMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 获取 演示视频信息
     * (1.4.29	演示视频信息)
     * @param map
     */
    @POST("/dispatcher/OperationGuide/list")
    fun getVideoMessage(@QueryMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 获取药品名称列表
     *（1.4.30	药品名称列表）
     * @param map
     */
    @POST("/dispatcher/drugs/list")
    fun getDrugsList(@QueryMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * app版本更新
     * (1.4.31	app版本更新)
     * @param map
     */
    @POST("/dispatcher/appupgrade/list")
    fun updateVersion(@QueryMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 获取表单列表
     * (1.4.32	表单列表)
     * @param map
     */
    @POST("dispatcher/department/list")
    fun getFormList(@QueryMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 获取护理等级
     * (1.4.33	获取护理等级)
     * @param map
     */
    @POST("dispatcher/hospital/list")
    fun getNurseLevel(@QueryMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 操作记录提交
     * (1.4.34	操作记录提交)
     * @param map
     */
    @FormUrlEncoded
    @POST("/dispatcher/imageHistory/adds")
    fun postVoiceHistory(@FieldMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 获取表单内容关键字
     * (1.4.35	获取表单内容关键字)
     * @param map
     */
    @FormUrlEncoded
    @POST("/dispatcher/title/tylist")
    fun getFormKey(@FieldMap map: HashMap<String, String>): Observable<ResponseBody>

    /**
     * 获取入院状态关键字
     * (1.4.36	获取入院状态关键字)
     * @param map
     */
    @FormUrlEncoded
    @POST("/dispatcher/status/list")
    fun getHospitalStatusKey(@FieldMap map: HashMap<String, String>): Observable<ResponseBody>



//    /**
//     * 获取详细的操作记录
//     * @param patientId
//     * @param mPageNum
//     */
//    @FormUrlEncoded
//    @POST("url")
//    fun getDetailOperationRecord(patientId: String, mPageNum: Int): Observable<ResponseBody>

//    /**
//     * （1.4.5	患者备注 新增接口）
//     * @param map
//     */
//    @FormUrlEncoded
//    @POST("/dispatcher/tempatient/addOrEdit")
//    fun patientRemark(@FieldMap map: HashMap<String, String>): Observable<ResponseBody>

//    /**
//     * （1.4.4	患者备注 查询接口）
//     * @param map
//     */
//    @FormUrlEncoded
//    @POST("/dispatcher/tempatient/list")
//    fun getPatientRemark(@FieldMap map: HashMap<String, String>): Observable<ResponseBody>





}
